<?php

# NOTE: required attributes must come first

$DTD = array(
//	'CDATA'      => array('<!--', '//-->'),
	'DOCTYPE'    => '<!DOCTYPE html>',
	'EMPTY-TAGS' => array('area', 'base', 'br', 'col', 'hr', 'img', 'input', 'link', 'meta', 'param'),
//	'INLINE-TAGS'=> array('a','abbr','b','bdo','br','button','cite','code','del','dfn','em','i','iframe','img','input','ins','kbd','label','legend','map','noscript','object','param','q','rp','rt','ruby','samp','script','select','small','span','strong','sub','sup','textarea','var'),
	'XML'        => false,
	'CASE-INSENSITIVE' => true,
	'STANDARD_ATTRIBUTES' => array('class'=>0, 'dir'=>0, 'id'=>0, 'lang'=>0, 'style'=>0, 'title'=>0, 'lang'=>0, 'draggable'=>0, 'dropzone'=>0),

	'a'          => array('accesskey'=>0, 'charset'=>0, 'coords'=>0, 'href'=>0, 'hreflang'=>0, 'name'=>0, 'rel'=>0, 'rev'=>0, 'shape'=>0, 'tabindex'=>0, 'target'=>0, 'type'=>0),
	'abbr'       => array(),
	'address'    => array(),
	'area'       => array('alt'=>'', 'accesskey'=>0, 'coords'=>0, 'href'=>0, 'nohref'=>0, 'shape'=>0, 'tabindex'=>0, 'target'=>0),
	'article'    => array(), # HTML5
	'aside'      => array(), # HTML5
	'audio'      => array('autoplay'=>0, 'controls'=>0, 'loop'=>0, 'preload'=>0, 'src'=>0), # HTML5
	'b'          => array(),
	'base'       => array('href'=>0, 'target'=>0),
	'bdo'        => array(),
	'blockquote' => array('cite'=>0),
	'body'       => array(),
	'br'         => array('clear'=>0),
	// formaction, formenctype, formmethod & formnovalidate only when type=submit
	'button'     => array('accesskey'=>0, 'disabled'=>0, 'name'=>0, 'tabindex'=>0, 'type'=>0, 'value'=>0,'form'=>0,'formaction'=>0,'formenctype'=>0,'formmethod'=>0,'formnovalidate'=>0),
	'canvas'     => array(), # HTML5
	'caption'    => array(),
	'cite'       => array(),
	'code'       => array(),
	'col'        => array('char'=>0, 'charoff'=>0, 'span'=>0, 'valign'=>0, 'width'=>0),
	'command'    => array('checked'=>0, 'disabled'=>0, 'icon'=>0, 'label'=>0, 'radiogroup'=>0, 'type'=>0), # HTML5
	'datalist'   => array(), # HTML5
	'dd'         => array(),
	'del'        => array('cite'=>0, 'datetime'=>0),
	'details'    => array('open'=>0), # HTML5
	'dfn'        => array(),
	'div'        => array(),
	'dl'         => array(),
	'dt'         => array(),
	'em'         => array(),
	'embed'      => array('src'=>0, 'type'=>0), # HTML5
	'fieldset'   => array(),
	'figcaption' => array(), # HTML5
	'figure'     => array(), # HTML5
	'footer'     => array(), # HTML5
	'form'       => array('action'=>'', 'accept-charset'=>0 /*Poodle::CHARSET*/, 'enctype'=>0, 'method'=>0, 'name'=>0, 'novalidate'=>0),
	'h1'         => array(),
	'h2'         => array(),
	'h3'         => array(),
	'h4'         => array(),
	'h5'         => array(),
	'h6'         => array(),
	'head'       => array('profile'=>0),
	'header'     => array(), # HTML5
	'hgroup'     => array(), # HTML5
	'hr'         => array(),
	'html'       => array(),
	'i'          => array(),
	'iframe'     => array('height'=>0, 'sandbox'=>0, 'seamless'=>0, 'src'=>0, 'srcdox'=>0, 'width'=>0),
	'img'        => array('alt'=>'', 'src'=>'', 'height'=>0, 'ismap'=>0, 'longdesc'=>0, 'usemap'=>0, 'width'=>0),
	// formaction, formenctype, formmethod & formtarget only when type=submit|image
	'input'      => array('accept'=>0, 'accesskey'=>0, 'alt'=>0, 'checked'=>0, 'disabled'=>0, 'maxlength'=>0, 'name'=>0, 'readonly'=>0, 'size'=>0, 'src'=>0, 'tabindex'=>0, 'type'=>0, 'value'=>0,
		'autocomplete'=>0, 'autofocus'=>0, 'form'=>0, 'formnovalidate'=>0, 'list'=>0, 'max'=>0, 'min'=>0, 'multiple'=>0, 'pattern'=>0, 'placeholder'=>0, 'required'=>0, 'step'=>0),
	'ins'        => array('cite'=>0, 'datetime'=>0),
	'keygen'     => array('autofocus'=>0, 'challenge'=>0, 'disabled'=>0, 'form'=>0, 'keytype'=>0, 'name'=>0), # HTML5
	'kbd'        => array(),
	'label'      => array('accesskey'=>0, 'for'=>0),
	'legend'     => array('accesskey'=>0),
	'li'         => array('type'=>0, 'value'=>0),
	'link'       => array('disabled'=>0, 'charset'=>0, 'href'=>0, 'hreflang'=>0, 'media'=>0, 'rel'=>0, 'rev'=>0, 'target'=>0, 'type'=>0),
	'map'        => array('name'=>''),
	'mark'       => array(), # HTML5
	'menu'       => array(), # HTML5 redefined
	'meta'       => array('content'=>'', 'http-equiv'=>0, 'name'=>0, 'scheme'=>0),
	'meter'      => array('high'=>0, 'low'=>0, 'max'=>0, 'min'=>0, 'optimum'=>0, 'value'=>0), # HTML5
	'nav'        => array(), # HTML5
	'noscript'   => array(),
	'object'     => array('archive'=>0, 'border'=>0, 'classid'=>0, 'codebase'=>0, 'codetype'=>0, 'data'=>0, 'declare'=>0, 'height'=>0, 'hspace'=>0, 'name'=>0, 'standby'=>0, 'tabindex'=>0, 'type'=>0, 'usemap'=>0, 'vspace'=>0, 'width'=>0),
	'ol'         => array(),
	'optgroup'   => array('label'=>'', 'disabled'=>0),
	'option'     => array('disabled'=>0, 'label'=>0, 'selected'=>0, 'value'=>0),
	'output'     => array('for'=>0, 'form'=>0, 'name'=>0), # HTML5
	'p'          => array(),
	'param'      => array('name'=>'', 'type'=>0, 'value'=>0, 'valuetype'=>0),
	'pre'        => array(),
	'progress'   => array('max'=>0, 'value'=>0), # HTML5
	'q'          => array('cite'=>0),
	'rp'         => array(), # HTML5 Ruby
	'rt'         => array(), # HTML5 Ruby
	'ruby'       => array(), # HTML5 Ruby
	'samp'       => array(),
	'script'     => array('type'=>'text/javascript', 'charset'=>0, 'defer'=>0, 'src'=>0),
	'section'    => array('cite'=>0), # HTML5
	'select'     => array('disabled'=>0, 'multiple'=>0, 'name'=>0, 'size'=>0, 'tabindex'=>0),
	'small'      => array(),
	'source'     => array('media'=>0, 'src'=>0, 'type'=>0), # HTML5
	'span'       => array(),
	'strong'     => array(),
	'style'      => array('type'=>'text/css', 'media'=>0),
	'sub'        => array(),
	'summary'    => array(), # HTML5
	'sup'        => array(),
	'table'      => array('border'=>0),
	'tbody'      => array(),
	'td'         => array('colspan'=>0, 'headers'=>0, 'rowspan'=>0),
	'textarea'   => array('cols'=>0 /*20*/, 'rows'=>0 /*2*/, 'accesskey'=>0, 'disabled'=>0, 'maxlength'=>0, 'name'=>0, 'placeholder'=>0, 'readonly'=>0, 'tabindex'=>0, 'wrap'=>0, 'required'=>0),
	'tfoot'      => array(),
	'th'         => array('colspan'=>0, 'headers'=>0, 'rowspan'=>0, 'scope'=>0),
	'thead'      => array(),
	'time'       => array('datetime'=>0), # HTML5
	'title'      => array(),
	'tr'         => array('char'=>0, 'charoff'=>0, 'valign'=>0),
	'ul'         => array(),
	'var'        => array(),
	'video'      => array('autoplay'=>0, 'controls'=>0, 'loop'=>0, 'preload'=>0, 'src'=>0, 'poster'=>0), # HTML5
);
